package org.jeecg.modules.api.red.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.modules.api.member.entity.Member;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Description: 红包生成
 * @Author: jeecg-boot
 * @Date:   2024-10-14
 * @Version: V1.0
 */
@Data
@TableName("fx_red_create")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="fx_red_create对象", description="红包配置")
public class RedCreate {
    
	/**id*/
	@TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "id")
	private String id;
	/**创建日期*/
	@Excel(name = "创建日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建日期")
	private Date createTime;
	/**更新日期*/
	@Excel(name = "更新日期", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "更新日期")
	private Date updateTime;
	/**所属部门*/
	@Excel(name = "所属部门", width = 15)
    @ApiModelProperty(value = "所属部门")
	@JsonIgnore
	private String sysOrgCode;
	/**红包配置iD*/
	@Excel(name = "红包配置iD", width = 15)
    @ApiModelProperty(value = "红包配置iD")
	@JsonIgnore
	private Long confId;
	/**创建者ID*/
	@Excel(name = "创建者ID", width = 15)
    @ApiModelProperty(value = "创建者ID")
	private Long memberId;
	/**红包数量*/
	@Excel(name = "红包数量", width = 15)
    @ApiModelProperty(value = "红包数量")
	private Integer num;
	/**红包剩余数量*/
	@Excel(name = "红包剩余数量", width = 15)
    @ApiModelProperty(value = "红包剩余数量")
	private Integer remain;
	/**红包金额*/
	@Excel(name = "红包金额", width = 15)
    @ApiModelProperty(value = "红包金额")
	private java.math.BigDecimal money;
	/**是否拆完*/
	@Excel(name = "是否拆完", width = 15)
	@ApiModelProperty(value = "是否拆完 0：未拆完 1：已拆完")
	private Integer state;
	/**优惠券ID集合*/
	@Excel(name = "优惠券ID集合", width = 15)
    @ApiModelProperty(value = "优惠券ID集合")
	@JsonIgnore
	private String couponIds;
	@TableField(exist = false)
	private List<RedRecord> redRecords= new ArrayList<>() ;
	/**结束时间*/
	@Excel(name = "过期时间", width = 15)
	@ApiModelProperty(value = "过期时间")
	private Date expireTime;

}
